原始题目:剑指 Offer 58 - I. 翻转单词顺序 (opens new window)
解题思路:
可以将原数组通过空格分割成字符串数组,根据题意可以知道,需要将字符串数组后面的元素移到前面去。
代码:
public String reverseWords(String s) { String[] ss = s.trim().split(" "); StringBuilder ans = new StringBuilder(); for (int i = ss.length - 1; i >= 0; i--) { if ("".equals(ss[i])) { continue; } ans.append(ss[i]).append(" "); } return ans.toString().trim(); }
@Lin2j: 代码已经复制到剪贴板
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
复杂度分析
- 时间复杂度:总体为线性时间复杂度。
split()
方法:。
- 空间复杂度:字符串数组占线性大小的额外空间。